package com.tools.common.security.secret;

import com.tools.common.io.CharsetEnum;
import com.tools.common.object.Note;

/**
 * 对称/非对称加密解密算法的管理实例
 * */
@Note("对称/非对称加密解密算法的管理实例")
public interface Cypher {

    @Note("以实现类被构造时锁指定的默认的字符集加密明文")
    String encrypt(String plaintext);

    @Note("以实现类被构造时锁指定的默认的字符集解密密文")
    String decrypt(String ciphertext);

    @Note("以指定的字符集加密明文")
    String encrypt(String plaintext, CharsetEnum charset);

    @Note("以指定的字符集解密密文")
    String decrypt(String ciphertext, CharsetEnum charset);
}
